@哈哈鱼
2年前 提问
1个回答
文件上传漏洞的原理
Anna艳娜
2年前
文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。文件上传漏洞原理:
大部分的网站和应用系统都有上传功能,而程序员在开发任意文件上传功能时,并未考虑文件格式后缀的合法性校验或者是否只在前端通过js进行后缀检验。
这时攻击者可以上传一个与网站脚本语言相对应的恶意代码动态脚本,例如(jsp、asp、php、aspx文件后缀)到服务器上,从而访问这些恶意脚本中包含的恶意代码,进行动态解析最终达到执行恶意代码的效果,进一步影响服务器安全。
触发上传漏洞的两个必要条件:
用户上传了非法格式的文件;
用户通过访问的方式触发了服务器执行其上传的文件;
首先需要对文件的上传做防护,但是所有的防护措施都是有漏洞的,不能保证100%安全,因此还需要防止服务器对上传的文件意外地执行。
通常情况下,自己参与的项目中的防护工作主要就是前端校验、后端白名单校验;然后配合隐藏文件上传路径的方式来防止文件上传漏洞的。